home *** CD-ROM | disk | FTP | other *** search
/ MACD 5 / MACD 5.bin / internet / miami_dodatki / ammiamiutil / ammiamiutilv1.1.amirx
Text File  |  1997-02-17  |  13KB  |  383 lines

  1. /*
  2.    AmMiamiUtil v1.1
  3.  
  4.    A GUI FOR interaction of Miami Utility Programs
  5.    and AmIRC.
  6.  
  7.    Author:  Robert Olson
  8.             Phubar on Galaxynet
  9.  
  10.    Copyright 1997 BY me!
  11.  
  12.    LetMeKnowIFYouLikeItWare!!!!
  13. */
  14. OPTIONS RESULTS
  15. FAILAT 31
  16. PARSE ARG action hst
  17.  
  18. FloatText_Text = 0x8042d16a
  19. Slider_Level = 0x8042ae3a
  20. Slider_Max = 0x8042d78a
  21. Slider_Min = 0x8042e404
  22. List_Clear = 0x8042ad89
  23. List_Active = 0x8042391c
  24. List_Format = 0x80423c0a
  25. Weight = 0x80421d1f
  26. FixWidth = 0x8042a3f1
  27. Window_SizeGadget = 0x8042e33d
  28. MenuItem_Title = 0x804218be
  29. Application_AboutMUI = 0x8042d21d
  30. Application_OpenConfigWindow = 0x804299ba
  31. True = 1
  32.  
  33. ADDRESS FLD
  34.  
  35. SELECT
  36.     WHEN action='user' THEN CALL user(hst)
  37.     WHEN action='refresh' THEN CALL refresh()
  38.     WHEN action='ping' THEN CALL ping()
  39.     WHEN action='finger' THEN CALL finger()
  40.     WHEN action='resolve' THEN CALL resolve()
  41.     WHEN action='traceroute' THEN CALL traceroute()
  42.     WHEN action='aboutmui' THEN CALL aboutmui()
  43.     WHEN action='muisettings' THEN CALL muisettings()
  44.     WHEN action='aboutmutil' THEN CALL aboutmutil()
  45.     WHEN action='aboutmiami' THEN CALL aboutmiami()
  46.     WHEN action='aboutmuirexx' THEN CALL aboutmuirexx()
  47.     OTHERWISE CALL openwindow()
  48.     END
  49. EXIT
  50.  
  51. openwindow:
  52. window ID FLOOD COMMAND """quit""" PORT FLD TITLE """AmIRC Miami Utility GUI""" ATTRS Window_SizeGadget
  53.     menu LABEL "Project"
  54.         item COMMAND """rx miami:amirc/rexx/AmMiamiUtilv1.1.amirx aboutmutil""" PORT COMMAND LABEL '"About MUtil"'
  55.         item COMMAND """rx miami:amirc/rexx/AmMiamiUtilv1.1.amirx aboutmiami""" PORT COMMAND LABEL '"About Miami"'
  56.         item COMMAND """rx miami:amirc/rexx/AmMiamiUtilv1.1.amirx aboutmuirexx""" PORT COMMAND LABEL '"About MUIRexx"'
  57.         item COMMAND """rx miami:amirc/rexx/AmMiamiUtilv1.1.amirx aboutmui"""  PORT COMMAND LABEL '"About Mui"'
  58.         item ATTRS MenuItem_Title '-1'
  59.         item COMMAND """rx miami:amirc/rexx/AmMiamiUtil.amirx muisettings""" PORT COMMAND LABEL '"MUI Settings"'
  60.         item ATTRS MenuItem_Title '-1'
  61.         item COMMAND """quit""" PORT MUTIL LABEL "Quit"
  62.     endmenu
  63.     group
  64.         list ID USRS HELP """Double click on the user TO SELECT.""" COMMAND """rx miami:amirc/rexx/AmMiamiUtilv1.1.amirx user %s""" PORT COMMAND ATTRS List_Format '"MIW=3 BAR,MIW=25 BAR,MIW=40"'
  65.     endgroup
  66.     group
  67.         button ID RFSH HELP """Click here TO refresh the\nuserlist""" COMMAND """rx miami:amirc/rexx/AmMiamiUtilv1.1.amirx refresh""" PORT COMMAND LABEL "Refresh"
  68.     endgroup
  69.     group REGISTER LABELS """MiamiPing,MiamiResolve,MiamiFinger,MiamiTraceRoute"""
  70.         group ID MPNG
  71.             group
  72.                 group HORIZ
  73.                     label SINGLE "Count:"
  74.                     slider ID CNT HELP """Number of packets that will be \nsent and recieved.""" ATTRS FixWidth 475 Slider_Level 10 Slider_Min 1 Slider_Max 10000
  75.                 endgroup
  76.                 group HORIZ
  77.                     label SINGLE "Wait:"
  78.                     space 1
  79.                     slider ID WAIT HELP """Amount of time TO wait \nbetween packets.""" ATTRS FixWidth 475 Slider_Level 1 Slider_Min 1 Slider_Max 20
  80.                 endgroup
  81.                 group HORIZ
  82.                     label SINGLE "Quiet:"
  83.                     check ID QT HELP """No output other than the header line \nand the summary line."""
  84.                     label SINGLE "Numerical Output:"
  85.                     check ID PNUM HELP """Numerical output of the \nping results."""
  86.                     label SINGLE "Flood:"
  87.                     check ID FLD HELP """Send out pings as fast\nas possible.\nWARNING: DO not use\nlightly!!!"""
  88.                 endgroup
  89.             endgroup
  90.             group HORIZ
  91.                 label SINGLE "Target:"
  92.                 string ID TARG1 HELP """This is the domain of\nthe user selected above.""" ATTRS Weight 200
  93.                 button ID GOPNG HELP """Accept domain & ping away.""" COMMAND """rx miami:amirc/rexx/AmMiamiUtilv1.1.amirx ping""" PORT COMMAND ATTRS Weight 75 LABEL "Ping"
  94.             endgroup
  95.         endgroup
  96.         group ID MRSLV
  97.             group HORIZ
  98.                 label SINGLE "Target:"
  99.                 string ID TARG2 HELP """This is the domain of\nthe user selected above.""" ATTRS Weight 200
  100.                 button ID GORSV HELP """Accept domain and resolve\nIP ADDRESS or vice\nversa.""" COMMAND """rx miami:amirc/rexx/AmMiamiUtilv1.1.amirx resolve""" PORT COMMAND ATTRS Weight 75 LABEL "Resolve"
  101.             endgroup
  102.         endgroup
  103.         group ID MFNGR
  104.             group HORIZ
  105.                 label SINGLE "Long Output:"
  106.                 check ID LNG HELP """Show the long output format.""" ATTRS Weight 25
  107.                 label SINGLE "Target:"
  108.                 string ID TARG3 HELP """This is the host@domain\nof the user selected\nabove.""" ATTRS Weight 200
  109.                 button ID GOFGR HELP """Accept host@domain and\nfinger user.""" COMMAND """rx miami:amirc/rexx/AmMiamiUtilv1.1.amirx finger""" PORT COMMAND ATTRS Weight 75 LABEL "Finger"
  110.             endgroup
  111.         endgroup
  112.         group ID MTRT
  113.             group
  114.                 group HORIZ
  115.                     label SINGLE "Max Hops:"
  116.                     slider ID HOPS HELP """Max number of hops FOR the route.""" ATTRS FixWidth 475 Slider_Level 30 Slider_Min 10 Slider_Max 100
  117.                 endgroup
  118.                 group HORIZ
  119.                     label SINGLE "Numerical Addresses:"
  120.                     check ID NUM HELP """Prints addresses in route numerically\nrather than alphanumerically.\nIE. ###.###.###.### rather than\ndomain.name.org."""
  121.                     label SINGLE "Port:"
  122.                     slider ID PORT HELP """UDP Port FOR traceroute TO check.\nWARNING:  DO not change this value\nunless you are having problems\nwith a trace.""" ATTRS Slider_Level 33434 Slider_Min 30000 Slider_Max 40000
  123.                 endgroup
  124.                 group HORIZ
  125.                     label SINGLE "Type of Service:"
  126.                     slider ID TOS HELP """Type of service FOR trace packets.\nUsed TO see IF different services\ntake different paths.""" ATTRS FixWidth 200 Slider_Level 0 Slider_Min 0 Slider_Max 255
  127.                     label SINGLE "Wait:"
  128.                     slider ID TRWT HELP """Time TO wait FOR a\nresponse from a probe.""" ATTRS FixWidth 200 Slider_Level 3 Slider_Min 1 Slider_Max 10
  129.                 endgroup
  130.                 group HORIZ
  131.                     label SINGLE "Target:"
  132.                     string ID TARG4 HELP """This is the domain of\nthe user selected above.""" ATTRS Weight 200
  133.                     button ID GOTRC HELP """Accept this domain and\ntraceroute.""" COMMAND """rx miami:amirc/rexx/AmMiamiUtilv1.1.amirx traceroute""" PORT COMMAND ATTRS Weight 75 Label "TraceRoute"
  134.                 endgroup
  135.             endgroup
  136.         endgroup
  137.     endgroup
  138.     view ID OUTPT HELP """All output will be displayed here."""
  139. endwindow
  140. CALL update()
  141. EXIT
  142.  
  143. update:
  144. ADDRESS 'AMIRC.1' 'GETUSERS'
  145. users = RESULT
  146. user. = ''
  147. cnt = Words(users)
  148. DO i = 1 TO cnt
  149.     user.i = Word(users,i)
  150.     END
  151. user.0 = cnt
  152. DO i = 1 TO user.0
  153.     SELECT
  154.         WHEN Left(user.i,1)='@' THEN DO
  155.             user.i = Right(user.i,(Length(user.i)-1))
  156.             user.i.1 = '@'
  157.             END
  158.         WHEN Left(user.i,1)='+' THEN DO
  159.             user.i = Right(user.i,(Length(user.i)-1))
  160.             user.i.1 = '+'
  161.             END
  162.         OTHERWISE NOP
  163.         END
  164.     END
  165. DO i = 1 TO user.0
  166.     ADDRESS 'AMIRC.1' 'USERHOST 'user.i
  167.     user.i.2 = RESULT
  168.     END
  169. DO i = 1 TO user.0
  170.     output = user.i.1','user.i','user.i.2
  171.     list ID USRS POS i STRING output
  172.     END
  173. RETURN
  174.  
  175. user:
  176. host = ARG(1)
  177. host2 = host
  178.  
  179. position = Pos('@',host,3)
  180. position2 = Pos(',',host2)
  181. host = Right(host,(Length(host)-position))
  182. host2 = Right(host2,(Length(host2)-position2))
  183. position2 = Pos(',',host2)
  184. host2 = Right(host2,(Length(host2)-position2))
  185. string ID TARG1 CONTENT host
  186. string ID TARG2 CONTENT host
  187. string ID TARG3 CONTENT host2
  188. string ID TARG4 CONTENT host
  189. CALL refresh()
  190. EXIT
  191.  
  192. refresh:
  193.  
  194. method ID USRS List_Clear
  195. CALL update()
  196. EXIT
  197.  
  198. ping:
  199.  
  200. string ID TARG1
  201. host = RESULT
  202. view ID OUTPT ATTRS FloatText_Text
  203. slider ID CNT
  204. cnt = RESULT
  205. slider ID WAIT
  206. wait = RESULT
  207. check ID QT
  208. qt = RESULT
  209. IF qt = '1' THEN DO
  210.     action = 'miami:miamiping -c 'cnt' -i 'wait' -q '
  211.     END
  212. ELSE DO
  213.     action = 'miami:miamiping -c 'cnt' -i 'wait' '
  214.     END
  215. check ID PNUM
  216. pnum = RESULT
  217. IF pnum = '1' THEN action = action'-n '
  218. check ID FLD
  219. fld = RESULT
  220. IF fld = '1' THEN action = action'-f '
  221. action = action||host' >ram:ping.out'
  222. view ID OUTPT STRING "Working........"
  223. ADDRESS command action
  224. ADDRESS command 'list ram:ping.out >ram:temp'
  225. CONTINUE:
  226. CALL Open('in','ram:temp','r')
  227. CALL ReadLn('in')
  228. test = ReadLn('in')
  229. CALL Close('in')
  230. IF Word(test,2) = 'empty' THEN DO
  231.     CALL Open('out','ram:ping.out','w')
  232.     CALL WriteLn('out','Unknown hostname....try again.')
  233.     CALL Close('out')
  234.     END
  235. view ID OUTPT ATTRS FloatText_Text
  236. view ID OUTPT FILE """ram:ping.out"""
  237. ADDRESS command 'delete ram:ping.out'
  238. EXIT
  239.  
  240. finger:
  241.  
  242. string ID TARG3
  243. host = RESULT
  244. view ID OUTPT ATTRS FloatText_Text
  245. check ID LNG
  246. lng = RESULT
  247. IF lng = '1' THEN DO
  248.     action = 'miami:miamifinger -l 'host' >ram:finger.out'
  249.     END
  250. ELSE DO
  251.     action = 'miami:miamifinger 'host' >ram:finger.out'
  252.     END
  253. view ID OUTPT STRING "Working........"
  254. ADDRESS command action
  255. ADDRESS command 'list ram:finger.out >ram:temp'
  256. CALL Open('in','ram:temp','r')
  257. CALL ReadLn('in')
  258. test = ReadLn('in')
  259. CALL Close('in')
  260. IF Word(test,2) = 'empty' THEN DO
  261.     CALL Open('out','ram:finger.out','w')
  262.     CALL WriteLn('out','Unknown hostname or user....try again.')
  263.     CALL Close('out')
  264.     END
  265. view ID OUTPT ATTRS FloatText_Text
  266. view ID OUTPT FILE """ram:finger.out"""
  267. ADDRESS command 'delete ram:finger.out'
  268. EXIT
  269.  
  270. resolve:
  271.  
  272. string ID TARG2
  273. host = RESULT
  274. view ID OUTPT ATTRS FloatText_Text
  275. action = 'miami:miamiresolve 'host' >ram:resolve.out'
  276. view ID OUTPT STRING "Working........"
  277. ADDRESS command action
  278. ADDRESS command 'list ram:resolve.out >ram:temp'
  279. CALL Open('in','ram:temp','r')
  280. CALL ReadLn('in')
  281. test = ReadLn('in')
  282. CALL Close('in')
  283. IF Word(test,2) = 'empty' THEN DO
  284.     CALL Open('out','ram:resolve.out','w')
  285.     CALL WriteLn('out','Unknown hostname or ADDRESS....try again.')
  286.     CALL Close('out')
  287.     END
  288. view ID OUTPT ATTRS FloatText_Text
  289. view ID OUTPT FILE """ram:resolve.out"""
  290. ADDRESS command 'delete ram:resolve.out'
  291. EXIT
  292.  
  293. traceroute:
  294.  
  295. string ID TARG4
  296. host = RESULT
  297. view ID OUTPT ATTRS FloatText_Text
  298. slider ID HOPS
  299. hps = RESULT
  300. slider ID TRWT
  301. trwt = RESULT
  302. slider ID PORT
  303. port = RESULT
  304. slider ID TOS
  305. tos = RESULT
  306. check ID NUM
  307. num = RESULT
  308. action = 'miami:miamitraceroute -m 'hps' -w 'trwt' -p 'port' -t 'tos' '
  309. IF num = '1' THEN action = action'-n '
  310. action = action||host' >ram:trace.out'
  311. view ID OUTPT STRING "Working........"
  312. ADDRESS command action
  313. ADDRESS command 'list ram:trace.out >ram:temp'
  314. CALL Open('in','ram:temp','r')
  315. CALL ReadLn('in')
  316. test = ReadLn('in')
  317. CALL Close('in')
  318. IF Word(test,2) = 'empty' THEN DO
  319.     CALL Open('out','ram:trace.out','w')
  320.     CALL WriteLn('out','Unknown hostname....try again.')
  321.     CALL Close('out')
  322.     END
  323. view ID OUTPT ATTRS FloatText_Text
  324. view ID OUTPT FILE """ram:trace.out"""
  325. EXIT
  326.  
  327. aboutmui:
  328.  
  329. method Application_AboutMUI 0
  330. EXIT
  331.  
  332. muisettings:
  333.  
  334. method Application_OpenConfigWindow
  335. EXIT
  336.  
  337. aboutmutil:
  338.  
  339. CALL Open('out','ram:infotemp','w')
  340. CALL WriteLn('out','MUTIL is a MUIRexx Application.')
  341. CALL WriteLn('out','This program is considered FREEWARE!')
  342. CALL WriteLn('out',' ')
  343. CALL WriteLn('out','Author: Robert Olson')
  344. CALL WriteLn('out','EMail: natas@oasis.novia.net')
  345. CALL WriteLn('out','WWW: http://www.novia.net/~natas/')
  346. CALL WriteLn('out','Copyright: 1997')
  347. CALL Close('out')
  348. view ID OUTPT ATTRS FloatText_Text
  349. view ID OUTPT FILE """ram:infotemp"""
  350. ADDRESS command 'delete ram:infotemp'
  351. EXIT
  352.  
  353. aboutmiami:
  354.  
  355. CALL Open('out','ram:infotemp','w')
  356. CALL WriteLn('out','Miami is an integrated TCP/IP system FOR AmigaOS.')
  357. CALL WriteLn('out','Copyright © 1996,1997 Nordic Global Inc. All Rights Reserved')
  358. CALL WriteLn('out','Program and documentation BY Holger Kruse')
  359. CALL WriteLn('out',' ')
  360. CALL WriteLn('out','IF you like it, support the Amiga and register it!')
  361. CALL Close('out')
  362. view ID OUTPT ATTRS FloatText_Text
  363. view ID OUTPT FILE """ram:infotemp"""
  364. ADDRESS command 'delete ram:infotemp'
  365. EXIT
  366.  
  367. aboutmuirexx:
  368.  
  369. CALL Open('out','ram:infotemp','w')
  370. CALL WriteLn('out','MUIRexx 2.2\n\nAuthor: Russel Leighton\nEMail: russ@sneezy.lancaster.ca.us\n')
  371. CALL WriteLn('out','MUIRexx is a program which serves as an interface\nbetween ARexx and Magic User Interface')
  372. CALL WriteLn('out','(MUI).  MUIRexx does not provide complete access\nto all the capabilities of MUI, but')
  373. CALL WriteLn('out','quite a lot of capability is implemented in MUIRexx\nsuch as notification, icon buttons,')
  374. CALL WriteLn('out','and application objects, as well as other standard\nMUI objects.  Complete graphical user')
  375. CALL WriteLn('out','interfaces as well as full applications can be developed\nusing MUIRexx and ARexx macros.')
  376. CALL WriteLn('out','Additionally, it is possible TO dynamically change\nor add objects after the application')
  377. CALL WriteLn('out','has been created.')
  378. CALL Close('out')
  379. view ID OUTPT ATTRS FloatText_Text
  380. view ID OUTPT FILE """ram:infotemp"""
  381. ADDRESS command 'delete ram:infotemp'
  382. EXIT
  383.